Today's memory module interfaces may hide the used memory technology. The host software does not have to adapt to various memory technologies and architectures. However, this poses a problem that memory modules are not able to efficiently handle the wear leveling and erasing functions. For example, if the memory card is once written full, it will internally appear as full even if all the files that were stored in it will be deleted. The reason for this is that in a normal file system implementation, data will just be written to the memory card and new data will just overwrite the old one. Files are deleted only from the file allocation table by writing the reserved file/cluster entries to be non-reserved.
In a managed NAND memory subsystems a memory controller takes care of flash management functions like bad block management and wear leveling. The memory controller is not aware of file system level details of data but only managing reading/writing sectors of data without understanding the possible relationship between different sectors (e.g. if certain sectors belong to same or different file).
When an external host deletes a file the host marks the corresponding allocation in file allocation table (FAT) as free. A sophisticated host operating system and/or file system may also perform a so-called trimming function to sectors which the file covered. Depending on how fragmented the file allocation table (FAT) is, several commands may be needed to trim all sectors belonging to a file.